package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 收藏对象 collection
 * 
 * @author ruoyi
 * @date 2024-03-01
 */
public class SysCollection extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 收藏id 主键 */
    private Long collectionId;

    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;

    /** 被收藏的房源id */
    @Excel(name = "被收藏的房源id")
    private Long listingId;

    /** 位置 */
    @Excel(name = "位置")
    private String address;

    /** 户型 0: 小户型 1: 中户型 2:大户型 */
    @Excel(name = "户型 0: 小户型 1: 中户型 2:大户型")
    private String layout;

    /** 出租面积 */
    @Excel(name = "出租面积")
    private String rentalArea;

    /** 楼层 */
    @Excel(name = "楼层")
    private Long floor;

    /** 房间号 */
    @Excel(name = "房间号")
    private String roomNumber;

    /** 每平价格 */
    @Excel(name = "每平价格")
    private String pricePerSqm;

    /** 含税价格 */
    @Excel(name = "含税价格")
    private String taxInclusivePrice;

    /** 佣金系数 */
    @Excel(name = "佣金系数")
    private BigDecimal commissionRate;

    /** 套内间隔 */
    @Excel(name = "套内间隔")
    private String interiorLayout;

    /** 装修含税总价 */
    @Excel(name = "装修含税总价")
    private String decorationTaxInclusivePrice;

    /** 跟进状态 0:跟进 1:未跟进 */
    @Excel(name = "跟进状态 0:跟进 1:未跟进")
    private String followUp;

    /** 免租期 */
    @Excel(name = "免租期")
    private String rentFreePeriod;

    /** 物业情况 */
    @Excel(name = "物业情况")
    private String propertyManagementInfo;

    /** 上传图片 */
    @Excel(name = "上传图片")
    private String images;

    /** 添加视频 */
    @Excel(name = "添加视频")
    private String videos;

    /** 房源描述 */
    @Excel(name = "房源描述")
    private String propertyDescription;

    /** 房源信息 */
    @Excel(name = "房源信息")
    private String housingInformation;

    /** 期望价格 */
    @Excel(name = "期望价格")
    private String expectedPrice;

    /** 联系方式 */
    @Excel(name = "联系方式")
    private String contactInfo;

    /** 收藏的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "收藏的时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date collectionTime;

    public void setCollectionId(Long collectionId) 
    {
        this.collectionId = collectionId;
    }

    public Long getCollectionId() 
    {
        return collectionId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setListingId(Long listingId) 
    {
        this.listingId = listingId;
    }

    public Long getListingId() 
    {
        return listingId;
    }
    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }
    public void setLayout(String layout) 
    {
        this.layout = layout;
    }

    public String getLayout() 
    {
        return layout;
    }
    public void setRentalArea(String rentalArea) 
    {
        this.rentalArea = rentalArea;
    }

    public String getRentalArea() 
    {
        return rentalArea;
    }
    public void setFloor(Long floor) 
    {
        this.floor = floor;
    }

    public Long getFloor() 
    {
        return floor;
    }
    public void setRoomNumber(String roomNumber) 
    {
        this.roomNumber = roomNumber;
    }

    public String getRoomNumber() 
    {
        return roomNumber;
    }
    public void setPricePerSqm(String pricePerSqm) 
    {
        this.pricePerSqm = pricePerSqm;
    }

    public String getPricePerSqm() 
    {
        return pricePerSqm;
    }
    public void setTaxInclusivePrice(String taxInclusivePrice) 
    {
        this.taxInclusivePrice = taxInclusivePrice;
    }

    public String getTaxInclusivePrice() 
    {
        return taxInclusivePrice;
    }
    public void setCommissionRate(BigDecimal commissionRate) 
    {
        this.commissionRate = commissionRate;
    }

    public BigDecimal getCommissionRate() 
    {
        return commissionRate;
    }
    public void setInteriorLayout(String interiorLayout) 
    {
        this.interiorLayout = interiorLayout;
    }

    public String getInteriorLayout() 
    {
        return interiorLayout;
    }
    public void setDecorationTaxInclusivePrice(String decorationTaxInclusivePrice) 
    {
        this.decorationTaxInclusivePrice = decorationTaxInclusivePrice;
    }

    public String getDecorationTaxInclusivePrice() 
    {
        return decorationTaxInclusivePrice;
    }
    public void setFollowUp(String followUp) 
    {
        this.followUp = followUp;
    }

    public String getFollowUp() 
    {
        return followUp;
    }
    public void setRentFreePeriod(String rentFreePeriod) 
    {
        this.rentFreePeriod = rentFreePeriod;
    }

    public String getRentFreePeriod() 
    {
        return rentFreePeriod;
    }
    public void setPropertyManagementInfo(String propertyManagementInfo) 
    {
        this.propertyManagementInfo = propertyManagementInfo;
    }

    public String getPropertyManagementInfo() 
    {
        return propertyManagementInfo;
    }
    public void setImages(String images) 
    {
        this.images = images;
    }

    public String getImages() 
    {
        return images;
    }
    public void setVideos(String videos) 
    {
        this.videos = videos;
    }

    public String getVideos() 
    {
        return videos;
    }
    public void setPropertyDescription(String propertyDescription) 
    {
        this.propertyDescription = propertyDescription;
    }

    public String getPropertyDescription() 
    {
        return propertyDescription;
    }
    public void setHousingInformation(String housingInformation) 
    {
        this.housingInformation = housingInformation;
    }

    public String getHousingInformation() 
    {
        return housingInformation;
    }
    public void setExpectedPrice(String expectedPrice) 
    {
        this.expectedPrice = expectedPrice;
    }

    public String getExpectedPrice() 
    {
        return expectedPrice;
    }
    public void setContactInfo(String contactInfo) 
    {
        this.contactInfo = contactInfo;
    }

    public String getContactInfo() 
    {
        return contactInfo;
    }
    public void setCollectionTime(Date collectionTime) 
    {
        this.collectionTime = collectionTime;
    }

    public Date getCollectionTime() 
    {
        return collectionTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("collectionId", getCollectionId())
            .append("userId", getUserId())
            .append("listingId", getListingId())
            .append("address", getAddress())
            .append("layout", getLayout())
            .append("rentalArea", getRentalArea())
            .append("floor", getFloor())
            .append("roomNumber", getRoomNumber())
            .append("pricePerSqm", getPricePerSqm())
            .append("taxInclusivePrice", getTaxInclusivePrice())
            .append("commissionRate", getCommissionRate())
            .append("interiorLayout", getInteriorLayout())
            .append("decorationTaxInclusivePrice", getDecorationTaxInclusivePrice())
            .append("followUp", getFollowUp())
            .append("rentFreePeriod", getRentFreePeriod())
            .append("propertyManagementInfo", getPropertyManagementInfo())
            .append("images", getImages())
            .append("videos", getVideos())
            .append("propertyDescription", getPropertyDescription())
            .append("housingInformation", getHousingInformation())
            .append("expectedPrice", getExpectedPrice())
            .append("contactInfo", getContactInfo())
            .append("collectionTime", getCollectionTime())
            .toString();
    }
}
